
using System;
using System.Reflection;
using System.Configuration;
using GiftNet.IDAL;
namespace GiftNet.DALFactory
{
	public sealed class DataAccess
    {		
		private static readonly string path = ConfigurationManager.AppSettings["DAL"];
		
		 /// <summary>
        /// Create object or get it from cache
        /// </summary>
        public static object CreateObject(string path, string CacheKey)
        {
            object objType = DataCache.GetCache(CacheKey);
            if (objType == null)
            {
                try
                {
                    objType = Assembly.Load(path).CreateInstance(CacheKey);
                    DataCache.SetCache(CacheKey, objType);
                }
                catch(Exception ee)
                {
                    throw new Exception(ee.Message);
                }
            }
            return objType;
        }


        ///<summary>
        ///Create Factory DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IFactoryPrice CreateFactoryPrice()
        {
            string CacheKey = path + ".FactoryPrice";
            object objType = CreateObject(path, CacheKey);
            return (IFactoryPrice)objType;
        }


        ///<summary>
        ///Create Factory DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IFactoryOrderItems CreateFactoryOrderItems()
        {
            string CacheKey = path + ".FactoryOrderItems";
            object objType = CreateObject(path, CacheKey);
            return (IFactoryOrderItems)objType;
        }


        ///<summary>
        ///Create Factory DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IFactoryOrder CreateFactoryOrder()
        {
            string CacheKey = path + ".FactoryOrder";
            object objType = CreateObject(path, CacheKey);
            return (IFactoryOrder)objType;
        }

        ///<summary>
        ///Create Factory DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IFactory CreateFactory()
        {
            string CacheKey = path + ".Factory";
            object objType = CreateObject(path, CacheKey);
            return (IFactory)objType;
        }

        ///<summary>
        ///Create Factory DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IPayLog CreatePayLog()
        {
            string CacheKey = path + ".PayLog";
            object objType = CreateObject(path, CacheKey);
            return (IPayLog)objType;
        }

        ///<summary>
        ///Create ProOrderPublic DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IProOrderPublic CreateProOrderPublic()
        {
            string CacheKey = path + ".ProOrderPublic";
            object objType = CreateObject(path, CacheKey);
            return (IProOrderPublic)objType;
        }
        ///<summary>
        ///Create StockPosition DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IStockPosition CreateStockPosition()
        {
            string CacheKey = path + ".StockPosition";
            object objType = CreateObject(path, CacheKey);
            return (IStockPosition)objType;
        }

        ///<summary>
        ///Create StockUpdateResult DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IStockUpdateResult CreateStockUpdateResult()
        {
            string CacheKey = path + ".StockUpdateResult";
            object objType = CreateObject(path, CacheKey);
            return (IStockUpdateResult)objType;
        }

        ///<summary>
        ///Create ItemBarCode DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IItemBarCode CreateItemBarCode()
        {
            string CacheKey = path + ".ItemBarCode";
            object objType = CreateObject(path, CacheKey);
            return (IItemBarCode)objType;
        }

        ///<summary>
        ///Create AreaPrice DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IAreaPrice CreateAreaPrice()
        {
            string CacheKey = path + ".AreaPrice";
            object objType = CreateObject(path, CacheKey);
            return (IAreaPrice)objType;
        }

        ///<summary>
        ///Create ShipCompany DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IShipCompany CreateShipCompany()
        {
            string CacheKey = path + ".ShipCompany";
            object objType = CreateObject(path, CacheKey);
            return (IShipCompany)objType;
        }

        ///<summary>
        ///Create ShipCountry DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IShipCountry CreateShipCountry()
        {
            string CacheKey = path + ".ShipCountry";
            object objType = CreateObject(path, CacheKey);
            return (IShipCountry)objType;
        }

        ///<summary>
        ///Create ShipMethod DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IShipMethod CreateShipMethod()
        {
            string CacheKey = path + ".ShipMethod";
            object objType = CreateObject(path, CacheKey);
            return (IShipMethod)objType;
        }

        ///<summary>
        ///Create TagItem DAL Interface
        ///</summary>
        public static GiftNet.IDAL.ITagItem CreateTagItem()
        {
            string CacheKey = path + ".TagItem";
            object objType = CreateObject(path, CacheKey);
            return (ITagItem)objType;
        }

        ///<summary>
        ///Create producttags DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IProducttag CreateProducttags()
        {
            string CacheKey = path + ".Producttag";
            object objType = CreateObject(path, CacheKey);
            return (IProducttag)objType;
        }

        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.ITicket CreateTicket()
        {
            string CacheKey = path + ".Ticket";
            object objType = CreateObject(path, CacheKey);
            return (ITicket)objType;
        }

        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.ITicketReply CreateTicketReply()
        {
            string CacheKey = path + ".TicketReply";
            object objType = CreateObject(path, CacheKey);
            return (ITicketReply)objType;
        }

        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IOrderStaByDay CreateIOrderStaByDay()
        {
            string CacheKey = path + ".OrderStaByDay";
            object objType = CreateObject(path, CacheKey);
            return (IOrderStaByDay)objType;
        }

        ///<summary>
        ///Create Reviews DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IReviews CreateReviews()
        {
            string CacheKey = path + ".Reviews";
            object objType = CreateObject(path, CacheKey);
            return (IReviews)objType;
        }


        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.ISubjectContent CreateSubjectContent()
        {
            string CacheKey = path + ".SubjectContent";
            object objType = CreateObject(path, CacheKey);
            return (ISubjectContent)objType;
        }

        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.ISubjectCategory CreateSubjectCategory()
        {
            string CacheKey = path + ".SubjectCategory";
            object objType = CreateObject(path, CacheKey);
            return (ISubjectCategory)objType;
        }

        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.ISubject CreateSubject()
        {
            string CacheKey = path + ".Subject";
            object objType = CreateObject(path, CacheKey);
            return (ISubject)objType;
        }



        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IScenes CreateScene()
        {
            string CacheKey = path + ".Scene";
            object objType = CreateObject(path, CacheKey);
            return (IScenes)objType;
        }



        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IOrderAssign CreateOrderAssign()
        {
            string CacheKey = path + ".OrderAssign";
            object objType = CreateObject(path, CacheKey);
            return (IOrderAssign)objType;
        }

        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IOrderStateChangesHis CreateOrderStateChangesHis()
        {
            string CacheKey = path + ".OrderStateChangesHis";
            object objType = CreateObject(path, CacheKey);
            return (IOrderStateChangesHis)objType;
        }

        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IStaticHTMLNotice CreateStaticHTMLNotice()
        {
            string CacheKey = path + ".StaticHTMLNotice";
            object objType = CreateObject(path, CacheKey);
            return (IStaticHTMLNotice)objType;
        }

        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IProductOrderHis CreateProductOrderHis()
        {
            string CacheKey = path + ".ProductOrderHis";
            object objType = CreateObject(path, CacheKey);
            return (IProductOrderHis)objType;
        }


        ///<summary>
        ///Create DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IProOrderHis CreateProOrderHis()
        {
            string CacheKey = path + ".ProOrderHis";
            object objType = CreateObject(path, CacheKey);
            return (IProOrderHis)objType;
        }


        ///<summary>
        ///Create Address DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IStorageDeal CreateStorageDeal()
        {
            string CacheKey = path + ".StorageDeal";
            object objType = CreateObject(path, CacheKey);
            return (IStorageDeal)objType;
        }

        ///<summary>
        ///Create IIntegralStat DAL Interface
        ///</summary>
        public static GiftNet.IDAL.IIntegralStat CreateIntegralStat()
        {
            string CacheKey = path + ".IntegralStat";
            object objType = CreateObject(path, CacheKey);
            return (IIntegralStat)objType;
        }



        ///<summary>
        ///Create Address DAL Interface
        ///</summary>
        public static GiftNet.IDAL.ICustomerLeaveWord CreateCustomerLeaveWord()
        {
            string CacheKey = path + ".CustomerLeaveWord";
            object objType = CreateObject(path, CacheKey);
            return (ICustomerLeaveWord)objType;
        }



        ///<summary>
        ///Create Address DAL Interface
        ///</summary>
        public static GiftNet.IDAL.Iaspnet_Roles CreateAspnet_Roles()
        {
            string CacheKey = path + ".aspnet_Roles";
            object objType = CreateObject(path, CacheKey);
            return (Iaspnet_Roles)objType;
        }


		///<summary>
		///Create Address DAL Interface
		///</summary>
		public static GiftNet.IDAL.IAddress CreateAddress()
		{
			string CacheKey = path + ".Address";
			object objType = CreateObject(path, CacheKey);
			return (IAddress)objType; 
		}

		///<summary>
		///Create Area DAL Interface
		///</summary>
		public static GiftNet.IDAL.IArea CreateArea()
		{
			string CacheKey = path + ".Area";
			object objType = CreateObject(path, CacheKey);
			return (IArea)objType; 
		}

		///<summary>
		///Create AreaDetail DAL Interface
		///</summary>
		public static GiftNet.IDAL.IAreaDetail CreateAreaDetail()
		{
			string CacheKey = path + ".AreaDetail";
			object objType = CreateObject(path, CacheKey);
			return (IAreaDetail)objType; 
		}

		
		///<summary>
		///Create Attribute DAL Interface
		///</summary>
		public static GiftNet.IDAL.IAttribute CreateAttribute()
		{
			string CacheKey = path + ".Attribute";
			object objType = CreateObject(path, CacheKey);
			return (IAttribute)objType; 
		}

		///<summary>
		///Create Boon DAL Interface
		///</summary>
		public static GiftNet.IDAL.IBoon CreateBoon()
		{
			string CacheKey = path + ".Boon";
			object objType = CreateObject(path, CacheKey);
			return (IBoon)objType; 
		}

		///<summary>
		///Create City DAL Interface
		///</summary>
		public static GiftNet.IDAL.ICity CreateCity()
		{
			string CacheKey = path + ".City";
			object objType = CreateObject(path, CacheKey);
			return (ICity)objType; 
		}

		///<summary>
		///Create Country DAL Interface
		///</summary>
		public static GiftNet.IDAL.ICountry CreateCountry()
		{
			string CacheKey = path + ".Country";
			object objType = CreateObject(path, CacheKey);
			return (ICountry)objType; 
		}

		///<summary>
		///Create Coupon DAL Interface
		///</summary>
		public static GiftNet.IDAL.ICoupon CreateCoupon()
		{
			string CacheKey = path + ".Coupon";
			object objType = CreateObject(path, CacheKey);
			return (ICoupon)objType; 
		}

		///<summary>
		///Create CustomDetail DAL Interface
		///</summary>
		public static GiftNet.IDAL.ICustomDetail CreateCustomDetail()
		{
			string CacheKey = path + ".CustomDetail";
			object objType = CreateObject(path, CacheKey);
			return (ICustomDetail)objType; 
		}

		///<summary>
		///Create Customer DAL Interface
		///</summary>
		public static GiftNet.IDAL.ICustomer CreateCustomer()
		{
			string CacheKey = path + ".Customer";
			object objType = CreateObject(path, CacheKey);
			return (ICustomer)objType; 
		}

		///<summary>
		///Create CustomHead DAL Interface
		///</summary>
		public static GiftNet.IDAL.ICustomHead CreateCustomHead()
		{
			string CacheKey = path + ".CustomHead";
			object objType = CreateObject(path, CacheKey);
			return (ICustomHead)objType; 
		}

		///<summary>
		///Create CustomItem DAL Interface
		///</summary>
		public static GiftNet.IDAL.ICustomItem CreateCustomItem()
		{
			string CacheKey = path + ".CustomItem";
			object objType = CreateObject(path, CacheKey);
			return (ICustomItem)objType; 
		}

		///<summary>
		///Create CustomItemType DAL Interface
		///</summary>
		public static GiftNet.IDAL.ICustomItemType CreateCustomItemType()
		{
			string CacheKey = path + ".CustomItemType";
			object objType = CreateObject(path, CacheKey);
			return (ICustomItemType)objType; 
		}

		///<summary>
		///Create District DAL Interface
		///</summary>
		public static GiftNet.IDAL.IDistrict CreateDistrict()
		{
			string CacheKey = path + ".District";
			object objType = CreateObject(path, CacheKey);
			return (IDistrict)objType; 
		}

		///<summary>
		///Create DrawAward DAL Interface
		///</summary>
		public static GiftNet.IDAL.IDrawAward CreateDrawAward()
		{
			string CacheKey = path + ".DrawAward";
			object objType = CreateObject(path, CacheKey);
			return (IDrawAward)objType; 
		}

		///<summary>
		///Create DrawProduct DAL Interface
		///</summary>
		public static GiftNet.IDAL.IDrawProduct CreateDrawProduct()
		{
			string CacheKey = path + ".DrawProduct";
			object objType = CreateObject(path, CacheKey);
			return (IDrawProduct)objType; 
		}

		///<summary>
		///Create EventAwoke DAL Interface
		///</summary>
		public static GiftNet.IDAL.IEventAwoke CreateEventAwoke()
		{
			string CacheKey = path + ".EventAwoke";
			object objType = CreateObject(path, CacheKey);
			return (IEventAwoke)objType; 
		}

		///<summary>
		///Create Favorite DAL Interface
		///</summary>
		public static GiftNet.IDAL.IFavorite CreateFavorite()
		{
			string CacheKey = path + ".Favorite";
			object objType = CreateObject(path, CacheKey);
			return (IFavorite)objType; 
		}

		///<summary>
		///Create FileInfo DAL Interface
		///</summary>
		public static GiftNet.IDAL.IFileInfo CreateFileInfo()
		{
			string CacheKey = path + ".FileInfo";
			object objType = CreateObject(path, CacheKey);
			return (IFileInfo)objType; 
		}

		///<summary>
		///Create FriendGroup DAL Interface
		///</summary>
		public static GiftNet.IDAL.IFriendGroup CreateFriendGroup()
		{
			string CacheKey = path + ".FriendGroup";
			object objType = CreateObject(path, CacheKey);
			return (IFriendGroup)objType; 
		}

		///<summary>
		///Create FriendHobbie DAL Interface
		///</summary>
		public static GiftNet.IDAL.IFriendHobbie CreateFriendHobbie()
		{
			string CacheKey = path + ".FriendHobbie";
			object objType = CreateObject(path, CacheKey);
			return (IFriendHobbie)objType; 
		}

		///<summary>
		///Create FriendInfo DAL Interface
		///</summary>
		public static GiftNet.IDAL.IFriendInfo CreateFriendInfo()
		{
			string CacheKey = path + ".FriendInfo";
			object objType = CreateObject(path, CacheKey);
			return (IFriendInfo)objType; 
		}

		///<summary>
		///Create FriendOccasion DAL Interface
		///</summary>
		public static GiftNet.IDAL.IFriendOccasion CreateFriendOccasion()
		{
			string CacheKey = path + ".FriendOccasion";
			object objType = CreateObject(path, CacheKey);
			return (IFriendOccasion)objType; 
		}

		///<summary>
		///Create GainProduct DAL Interface
		///</summary>
		public static GiftNet.IDAL.IGainProduct CreateGainProduct()
		{
			string CacheKey = path + ".GainProduct";
			object objType = CreateObject(path, CacheKey);
			return (IGainProduct)objType; 
		}

		///<summary>
		///Create Hobbies DAL Interface
		///</summary>
		public static GiftNet.IDAL.IHobbies CreateHobbies()
		{
			string CacheKey = path + ".Hobbies";
			object objType = CreateObject(path, CacheKey);
			return (IHobbies)objType; 
		}

		///<summary>
		///Create IndPhoto DAL Interface
		///</summary>
		public static GiftNet.IDAL.IIndPhoto CreateIndPhoto()
		{
			string CacheKey = path + ".IndPhoto";
			object objType = CreateObject(path, CacheKey);
			return (IIndPhoto)objType; 
		}

		///<summary>
		///Create IndService DAL Interface
		///</summary>
		public static GiftNet.IDAL.IIndService CreateIndService()
		{
			string CacheKey = path + ".IndService";
			object objType = CreateObject(path, CacheKey);
			return (IIndService)objType; 
		}

		///<summary>
		///Create Information DAL Interface
		///</summary>
		public static GiftNet.IDAL.IInformation CreateInformation()
		{
			string CacheKey = path + ".Information";
			object objType = CreateObject(path, CacheKey);
			return (IInformation)objType; 
		}

		///<summary>
		///Create InfoType DAL Interface
		///</summary>
		public static GiftNet.IDAL.IInfoType CreateInfoType()
		{
			string CacheKey = path + ".InfoType";
			object objType = CreateObject(path, CacheKey);
			return (IInfoType)objType; 
		}

		
		///<summary>
		///Create IntegralLog DAL Interface
		///</summary>
		public static GiftNet.IDAL.IIntegralLog CreateIntegralLog()
		{
			string CacheKey = path + ".IntegralLog";
			object objType = CreateObject(path, CacheKey);
			return (IIntegralLog)objType; 
		}

		///<summary>
		///Create LeaveWord DAL Interface
		///</summary>
		public static GiftNet.IDAL.ILeaveWord CreateLeaveWord()
		{
			string CacheKey = path + ".LeaveWord";
			object objType = CreateObject(path, CacheKey);
			return (ILeaveWord)objType; 
		}

		///<summary>
		///Create Letter DAL Interface
		///</summary>
		public static GiftNet.IDAL.ILetter CreateLetter()
		{
			string CacheKey = path + ".Letter";
			object objType = CreateObject(path, CacheKey);
			return (ILetter)objType; 
		}

		///<summary>
		///Create MemberClass DAL Interface
		///</summary>
		public static GiftNet.IDAL.IMemberClass CreateMemberClass()
		{
			string CacheKey = path + ".MemberClass";
			object objType = CreateObject(path, CacheKey);
			return (IMemberClass)objType; 
		}

		///<summary>
		///Create Module DAL Interface
		///</summary>
		public static GiftNet.IDAL.IModule CreateModule()
		{
			string CacheKey = path + ".Module";
			object objType = CreateObject(path, CacheKey);
			return (IModule)objType; 
		}

		///<summary>
		///Create ModuleRole DAL Interface
		///</summary>
		public static GiftNet.IDAL.IModuleRole CreateModuleRole()
		{
			string CacheKey = path + ".ModuleRole";
			object objType = CreateObject(path, CacheKey);
			return (IModuleRole)objType; 
		}

	

		///<summary>
		///Create MoneyLog DAL Interface
		///</summary>
		public static GiftNet.IDAL.IMoneyLog CreateMoneyLog()
		{
			string CacheKey = path + ".MoneyLog";
			object objType = CreateObject(path, CacheKey);
			return (IMoneyLog)objType; 
		}

		///<summary>
		///Create NoteFilter DAL Interface
		///</summary>
		public static GiftNet.IDAL.INoteFilter CreateNoteFilter()
		{
			string CacheKey = path + ".NoteFilter";
			object objType = CreateObject(path, CacheKey);
			return (INoteFilter)objType; 
		}

		///<summary>
		///Create Occasion DAL Interface
		///</summary>
		public static GiftNet.IDAL.IOccasion CreateOccasion()
		{
			string CacheKey = path + ".Occasion";
			object objType = CreateObject(path, CacheKey);
			return (IOccasion)objType; 
		}

		///<summary>
		///Create Order DAL Interface
		///</summary>
        public static GiftNet.IDAL.IProductOrder CreateProductOrder()
		{
            string CacheKey = path + ".ProductOrder";
			object objType = CreateObject(path, CacheKey);
            return (IProductOrder)objType; 
		}

		///<summary>
		///Create OrderStateChanges DAL Interface
		///</summary>
		public static GiftNet.IDAL.IOrderStateChanges CreateOrderStateChanges()
		{
            string CacheKey = path + ".OrderStateChanges";
			object objType = CreateObject(path, CacheKey);
			return (IOrderStateChanges)objType; 
		}

		///<summary>
		///Create PaymentLog DAL Interface
		///</summary>
		public static GiftNet.IDAL.IPaymentLog CreatePaymentLog()
		{
			string CacheKey = path + ".PaymentLog";
			object objType = CreateObject(path, CacheKey);
			return (IPaymentLog)objType; 
		}

		///<summary>
		///Create PaymentType DAL Interface
		///</summary>
		public static GiftNet.IDAL.IPaymentType CreatePaymentType()
		{
			string CacheKey = path + ".PaymentType";
			object objType = CreateObject(path, CacheKey);
			return (IPaymentType)objType; 
		}

		///<summary>
		///Create PersonSearch DAL Interface
		///</summary>
		public static GiftNet.IDAL.IPersonSearch CreatePersonSearch()
		{
			string CacheKey = path + ".PersonSearch";
			object objType = CreateObject(path, CacheKey);
			return (IPersonSearch)objType; 
		}

		///<summary>
		///Create PhoneServe DAL Interface
		///</summary>
		public static GiftNet.IDAL.IPhoneServe CreatePhoneServe()
		{
			string CacheKey = path + ".PhoneServe";
			object objType = CreateObject(path, CacheKey);
			return (IPhoneServe)objType; 
		}

		///<summary>
		///Create PresentRecord DAL Interface
		///</summary>
		public static GiftNet.IDAL.IPresentRecord CreatePresentRecord()
		{
			string CacheKey = path + ".PresentRecord";
			object objType = CreateObject(path, CacheKey);
			return (IPresentRecord)objType; 
		}

		///<summary>
		///Create Product DAL Interface
		///</summary>
		public static GiftNet.IDAL.IProduct CreateProduct()
		{
			string CacheKey = path + ".Product";
			object objType = CreateObject(path, CacheKey);
			return (IProduct)objType; 
		}

		///<summary>
		///Create ProductAttribute DAL Interface
		///</summary>
		public static GiftNet.IDAL.IProductAttribute CreateProductAttribute()
		{
			string CacheKey = path + ".ProductAttribute";
			object objType = CreateObject(path, CacheKey);
			return (IProductAttribute)objType; 
		}

		///<summary>
		///Create ProductComment DAL Interface
		///</summary>
		public static GiftNet.IDAL.IProductComment CreateProductComment()
		{
			string CacheKey = path + ".ProductComment";
			object objType = CreateObject(path, CacheKey);
			return (IProductComment)objType; 
		}

		///<summary>
		///Create ProductPhoto DAL Interface
		///</summary>
		public static GiftNet.IDAL.IProductPhoto CreateProductPhoto()
		{
			string CacheKey = path + ".ProductPhoto";
			object objType = CreateObject(path, CacheKey);
			return (IProductPhoto)objType; 
		}

		///<summary>
		///Create ProductStorage DAL Interface
		///</summary>
		public static GiftNet.IDAL.IProductStorage CreateProductStorage()
		{
			string CacheKey = path + ".ProductStorage";
			object objType = CreateObject(path, CacheKey);
			return (IProductStorage)objType; 
		}

		///<summary>
		///Create ProOrder DAL Interface
		///</summary>
		public static GiftNet.IDAL.IProOrder CreateProOrder()
		{
			string CacheKey = path + ".ProOrder";
			object objType = CreateObject(path, CacheKey);
			return (IProOrder)objType; 
		}

		///<summary>
		///Create Province DAL Interface
		///</summary>
		public static GiftNet.IDAL.IProvince CreateProvince()
		{
			string CacheKey = path + ".Province";
			object objType = CreateObject(path, CacheKey);
			return (IProvince)objType; 
		}

		///<summary>
		///Create Remind DAL Interface
		///</summary>
		public static GiftNet.IDAL.IRemind CreateRemind()
		{
			string CacheKey = path + ".Remind";
			object objType = CreateObject(path, CacheKey);
			return (IRemind)objType; 
		}

		///<summary>
		///Create ShopCart DAL Interface
		///</summary>
		public static GiftNet.IDAL.IShopCart CreateShopCart()
		{
			string CacheKey = path + ".ShopCart";
			object objType = CreateObject(path, CacheKey);
			return (IShopCart)objType; 
		}

		///<summary>
		///Create Storage DAL Interface
		///</summary>
		public static GiftNet.IDAL.IStorage CreateStorage()
		{
			string CacheKey = path + ".Storage";
			object objType = CreateObject(path, CacheKey);
			return (IStorage)objType; 
		}

		///<summary>
		///Create StorageMap DAL Interface
		///</summary>
		public static GiftNet.IDAL.IStorageMap CreateStorageMap()
		{
			string CacheKey = path + ".StorageMap";
			object objType = CreateObject(path, CacheKey);
			return (IStorageMap)objType; 
		}

		///<summary>
		///Create StorageRole DAL Interface
		///</summary>
		public static GiftNet.IDAL.IStorageRole CreateStorageRole()
		{
			string CacheKey = path + ".StorageRole";
			object objType = CreateObject(path, CacheKey);
			return (IStorageRole)objType; 
		}

		///<summary>
		///Create SystemTask DAL Interface
		///</summary>
		public static GiftNet.IDAL.ISystemTask CreateSystemTask()
		{
			string CacheKey = path + ".SystemTask";
			object objType = CreateObject(path, CacheKey);
			return (ISystemTask)objType; 
		}

		///<summary>
		///Create SystemUser DAL Interface
		///</summary>
		public static GiftNet.IDAL.ISystemUser CreateSystemUser()
		{
			string CacheKey = path + ".SystemUser";
			object objType = CreateObject(path, CacheKey);
			return (ISystemUser)objType; 
		}

		///<summary>
		///Create TaskFiles DAL Interface
		///</summary>
		public static GiftNet.IDAL.ITaskFiles CreateTaskFiles()
		{
			string CacheKey = path + ".TaskFiles";
			object objType = CreateObject(path, CacheKey);
			return (ITaskFiles)objType; 
		}

		///<summary>
		///Create Tell DAL Interface
		///</summary>
		public static GiftNet.IDAL.ITell CreateTell()
		{
			string CacheKey = path + ".Tell";
			object objType = CreateObject(path, CacheKey);
			return (ITell)objType; 
		}

		///<summary>
		///Create UserAddress DAL Interface
		///</summary>
		public static GiftNet.IDAL.IUserAddress CreateUserAddress()
		{
			string CacheKey = path + ".UserAddress";
			object objType = CreateObject(path, CacheKey);
			return (IUserAddress)objType; 
		}

		///<summary>
		///Create UserLog DAL Interface
		///</summary>
		public static GiftNet.IDAL.IUserLog CreateUserLog()
		{
			string CacheKey = path + ".UserLog";
			object objType = CreateObject(path, CacheKey);
			return (IUserLog)objType; 
		}
	}
}
